home *** CD-ROM | disk | FTP | other *** search
/ MacGames Sampler / PHT MacGames Bundle.iso / MacSource Folder / Samples from the CD / Assembly / Mac68k / MANUAL / MAN4.DOC < prev    next >
Encoding:
Text File  |  1985-08-20  |  11.5 KB  |  392 lines  |  [TEXT/Anon]

  1.  
  2.                                                                 MAC.68K
  3.  
  4.  
  5. VIII.  RESOURCES REQUIREDVIII.  RESOURCES REQUIREDVIII.  RESOURCES REQUIRED
  6.  
  7.  
  8.       MAC.68K resides on one 34K byte file. It requires file MLOAD
  9.   to be present if an application object file is to be generated.
  10.  
  11.       MAC.68K does require disk space while it executes. It is a
  12.   two pass assembler, but instead of reading the same source data
  13.   for each pass it creates a temporary file during pass one that
  14.   contains all the source lines to be processed by pass two. This
  15.   temporary file will require .8 to 1.4 times the size of the input
  16.   source file plus any included text files.  MAC.68K will try to
  17.   fit this file into memory, so for small programs or on large
  18.   memory size machines this disk space may not be required.
  19.  
  20.       INCLUDE files are loaded in entirety into memory prior to
  21.   being processed.  Included text file sizes of 10K to 20K on a
  22.   128K Macintosh should pose no problems. If you get a memory full
  23.   diagnostic on an include file, one solution is to split the file
  24.   and use two INCLUDE statements.
  25.  
  26.       For programmers writing very large programs, the following
  27.   dynamic table sizes can be added to the static size of 52K to
  28.   approximate the memory required for assembly.
  29.  
  30.       TABLE          Required in                Size
  31.  
  32.   SYMBOL             Pass 1   Pass 2       16 bytes per symbol
  33.   Macro names        Pass 1   Pass 2       16 bytes per name
  34.   Macro definition   Pass 1                Size of macro text
  35.   Object code                 Pass 2       Size of program
  36.   Relocation bits             Pass 2       Size of program
  37.   (if .O generated)
  38.  
  39.  
  40.       As an example of a moderate to large size program, MAC.68K
  41.   requires 104K to assemble itself. That includes 270K of source
  42.   data in 14 text files, two INCLUDES files, three INCLUDEH files,
  43.   2500 symbols, and 20 macro definitions.
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. MAC.68K                                  -14-
  65. MAC.68K
  66.  
  67.  
  68. IX.  STATISTIC AND ERROR MESSAGESIX.  STATISTIC AND ERROR MESSAGESIX.  STATISTIC AND ERROR MESSAGES
  69.  
  70.  
  71.       All MAC.68K statistic and error messages are displayed on the
  72.   console.  The first message issued by MAC.68K is its copyright
  73.   and the version number.
  74.  
  75.  
  76.   IX.1 Errors Detected In The Command Line  IX.1 Errors Detected In The Command Line  IX.1 Errors Detected In The Command Line
  77.  
  78.  
  79.       The following errors are detected at call time.  All are
  80.   considered fatal and will terminate the assembly. Check section I
  81.   for the valid command line options and syntax.
  82.  
  83.  
  84.   *UNKNOWN OPTION IN COMMAND LINE*
  85.             An unknown option character followed a dash character.
  86.  
  87.   *SYNTAX ERROR IN COMMAND LINE*
  88.             An illegal character or character sequence was detected.
  89.  
  90.   *ILLEGAL FILE NAME IN COMMAND LINE*
  91.             An invalid file specification was given.
  92.  
  93.   *NO INPUT FILE NAME IN COMMAND LINE*
  94.             The input file is a required parameter.
  95.  
  96.   *ILLEGAL DRIVE SPECIFICATION IN COMMAND LINE*
  97.             A drive number other than A-P was specified on a
  98.             file name or -F command.
  99.  
  100.  
  101.   IX.2 Initialization Errors  IX.2 Initialization Errors  IX.2 Initialization Errors
  102.  
  103.  
  104.       The following are detected during MAC.68K initialization. All
  105.   are considered fatal and assembly is terminated.
  106.  
  107.  
  108.   *UNABLE TO OPEN INPUT FILE*
  109.             The input file name from the command line does not exist
  110.             or is unaccessable.
  111.  
  112.   *UNABLE TO OPEN OUTPUT FILE*
  113.             MAC.68K was unable to open the output file specified on
  114.             the command line. Possible errors include: drive
  115.             specified does not exist or is not online, disk is
  116.             full, directory is full.
  117.  
  118.   *STACK OVERFLOW*
  119.             The TPA size is too small for MAC.68K. See section VIII
  120.             for minimum memory sizes.
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.                               -15-                              MAC.68K
  128.                                                                 MAC.68K
  129.  
  130.  
  131.   IX.3 Pass One Messages  IX.3 Pass One Messages  IX.3 Pass One Messages
  132.  
  133.  
  134.       MAC.68K reports no assembly errors during pass one. MAC.68K
  135.   displays the informative message *LOADING filename* at the
  136.   current cursor line while it is reading any of the include type
  137.   files. At the end of pass one and prior to pass two, MAC.68K
  138.   issues three statistic messages;  the count of source lines read,
  139.   the count of source lines written to the intermediate file for
  140.   pass two processing, and the count of M68000 operation and data
  141.   source lines.
  142.  
  143.       The fatal errors causing termination in pass one are disk
  144.   full while writing the intermediate file, symbol table full and
  145.   memory overflow.  The following messages result:
  146.  
  147.   *DISK FULL*
  148.             See section VIII to determine size requirements for the
  149.             intermediate file. Delete some files from the default
  150.             disk or use the command line option -F to place the
  151.             intermediate file on a disk with sufficient space.
  152.  
  153.   *SYMBOL TABLE OVERFLOW*
  154.             MAC.68K will handle at least 4200 symbols if enough
  155.             memory is available. To handle more you must split
  156.             your program into separate load modules.
  157.  
  158.   *PASS ONE TABLE OVERFLOW*
  159.             See section VIII to determine pass one table space
  160.             requirements. Your program may be too large for the
  161.             available memory, an INCLUDE file may be too large to
  162.             fit in available memory, or you may have an unintended
  163.             recursion with MACRO, DUP, or INCLUDE that has filled
  164.             up table space before hitting the MAC.68K recursion
  165.             limit.
  166.  
  167.  
  168.   IX.4 Pass Two Messages  IX.4 Pass Two Messages  IX.4 Pass Two Messages
  169.  
  170.  
  171.   *OBJECT CODE TOO LARGE*
  172.             The size of the resulting .68K file is too large
  173.             to generate in the available memory space. The assembly
  174.             will continue but no object file will be generated.
  175.  
  176.   *DISK FULL - OBJECT FILE*
  177.             Too little room on the disk or directory to write the
  178.             object file. The assembly will continue but no object
  179.             file will be generated.
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190. MAC.68K                                  -16-
  191. MAC.68K
  192.  
  193.  
  194.   *DISK FULL - PRINT FILE*
  195.             Too little room on the disk or directory to write the
  196.             print file. The assembly will continue but the print
  197.             file will remain truncated.
  198.  
  199.  
  200.       During pass two MAC.68K will display IDENT and END cards on
  201.   the console.  If the operator has not enabled list generation, or
  202.   if the listing is not being sent to the console, any line
  203.   containing assembly errors, complete with error column pointers,
  204.   will also be displayed.  Unless the NOPAWS option is selected,
  205.   MAC.68K will pause when the screen is filled with error messages,
  206.   and wait for operator input before continuing.  If any errors
  207.   have been detected, MAC.68K will list an error directory after
  208.   the END card but before the symbol/cross reference table.  The
  209.   error directory will contain a one line description for each
  210.   unique error type encountered.
  211.  
  212.       If a source line contains an error(s), the error type is
  213.   flagged in the output listing with single character flags
  214.   starting in the leftmost position of the source listing. Numeric
  215.   error flags indicate a "nonfatal" error that did not prevent
  216.   complete processing of the line. Alphabetic error flags indicate
  217.   a "fatal" error that resulted in no processing or in partial
  218.   processing of the source line.
  219.  
  220.       A one line text description of each error code type
  221.   encountered in the assembly will be printed at the end of the
  222.   program.
  223.  
  224.  
  225.            Source Line Error Flags
  226.  
  227.   Type         Description  (See Appendix B for detailed descriptions)
  228.  
  229.   A            Address Field Error.
  230.  
  231.   D            Doubly Defined Symbol.
  232.  
  233.   E            INCLUDE, RMT, or MACRO was illegally nested.
  234.  
  235.   F            File Content Error.
  236.  
  237.   G            Op Code not allowed.
  238.  
  239.   L            Location Field Bad.
  240.  
  241.   M            Invalid M68000 Addressing Mode.
  242.  
  243.   N            File Name Error.
  244.  
  245.   O            Operation Field Bad.
  246.  
  247.   P            User Requested Error.
  248.  
  249.   R            Relocation Error.
  250.  
  251.  
  252.  
  253.                               -17-                              MAC.68K
  254.                                                                 MAC.68K
  255.  
  256.  
  257.   U            Undefined Symbol.
  258.  
  259.   V            VFD Bit Count Error.
  260.  
  261.   X            File Not Found.
  262.  
  263.   Z            Zero Division.
  264.  
  265.   1            Location Field Bad.
  266.  
  267.   2            Address Error on Symbol Definition.
  268.  
  269.   3            Duplicate Macro Definition.
  270.  
  271.   4            Bad Formal Parameter Name.
  272.  
  273.   7            Address Value Exceeds Field Size.
  274.  
  275.   8            Missing or Extra Operation Subfield.
  276.  
  277.   9            String Substitution Error.
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.   IX.5 Completion Messages  IX.5 Completion Messages  IX.5 Completion Messages
  285.  
  286.  
  287.   *NO OBJECT FILE GENERATED*
  288.                Either OPTION NOOBJ was selected or the object file
  289.                was too large.
  290.  
  291.   *ASSEMBLY ERRORS*
  292.                The assembly is finished, but at least one error was
  293.                detected.
  294.  
  295.   *ASSEMBLY COMPLETE*
  296.                The assembly finished with no errors.
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316. MAC.68K                                  -18-
  317. MAC.68K
  318.  
  319.  
  320. X.  PSEUDO OPERATIONSX.  PSEUDO OPERATIONSX.  PSEUDO OPERATIONS
  321.  
  322.  
  323.       In addition to operation codes that generate machine language
  324.   object code, most assemblers provide additional operation codes
  325.   to generate data, reserve storage, define macros, provide program
  326.   list control, and other assembler support functions. Because
  327.   these additional operations do not directly generate machine code
  328.   they are known as pseudo operation codes, or pseudo ops. The
  329.   names of the pseudo ops provided by MAC.68K and grouped by
  330.   general function follow.
  331.  
  332.  
  333.   Data               DC.B      DS.B      VFD
  334.                      DC        DS
  335.                      DC.L      DS.L
  336.  
  337.   Control            IDENT     ORG       EVEN
  338.                      END       LOC
  339.  
  340.   Macro and          MACRO     LOCAL     DUP       STOPDUP
  341.   Code Generation    MACROL    PURGE     ECHO
  342.                      ENDM      OPSYN     ENDD
  343.  
  344.   Listing            LIST      TITLE     PAGE
  345.                                SUBTTL    SPACE
  346.  
  347.   Conditional        IF        ELSE      IFC
  348.                      IFS       ENDC      IFNC
  349.                      IFxx
  350.  
  351.   Symbol             SET       MAX       QUAL      NOREF
  352.                      EQU       MIN
  353.  
  354.   Misc               STRING    STRDEC    DEFER     ERRxx
  355.                      STRLEN    STRHEX    HERE
  356.  
  357.   Initialization     OPTION    PAGE
  358.  
  359.   Modularization     INCLUDES  MODULE    STEXT
  360.                      INCLUDEH  ENTRY
  361.                      INCLUDE
  362.  
  363.   Segment            BSS       OFFSET    TEXT
  364.                      DATA      SECTION
  365.  
  366.   Loader (CPM)       GLOBL     COMM
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.                               -19-                              MAC.68K PM)       GLOBL     COMM
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.